package com.mymarkdown.app.service.impl;

import com.mymarkdown.app.common.ResponseResult;
import com.mymarkdown.app.interfaces.UserInfoService;
import com.mymarkdown.app.service.MdService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.concurrent.BlockingQueue;

/**
 * @author zenglun
 * @date 2021/12/7 4:03 下午
 * @description: TODO
 */
@Slf4j
@Service
public class MdServiceImpl implements MdService {

    @Autowired
    private UserInfoService userInfoService;

    @Override
    public ResponseResult saveMdHTMLBody(String body) {
        /*
        拿到的数据的样例:
        <p>java文档转换工具。</p>
        <p>目前已实现： pdf转md(pdf转markdown：能够将pdf格式的文件转换成markdown格式的文件，支持同步同时转换图片和文本。)；</p>
        <p>1.1实现功能：pdf转换md<br>1.2存在问题：<br>1.图片和文本错位
        <p>2.无法处理代码块和表格等。</p>
        * */
        //存储数据到至当前用户中
        try {
            BlockingQueue<String> operationMdHTML = userInfoService.getOperationMdHTML();
            String peek = operationMdHTML.peek();
            if (peek != null){
                operationMdHTML.clear();
            }
            operationMdHTML.put(body);
            //存储完成之后
        } catch (InterruptedException e) {
            e.printStackTrace();
            log.error("[MdServiceImpl]---[saveMdHTMLBody],等待HTML队列内容为空时被中断,异常信息为:{}", e);
            return ResponseResult.error();
        }
        return ResponseResult.ok("");
    }
}
